package com.bwie.commodity.service;

import java.util.List;

import com.bwie.commodity.domain.CommodityType;
import com.bwie.commodity.domain.CommodityTypeAttributes;
import com.bwie.commodity.domain.dto.CommodityTypeAttributesDTO;

/**
 * 属性/参数列表Service接口
 *
 * @author ruoyi
 * @date 2024-11-15
 */
public interface ICommodityTypeAttributesService
{
    /**
     * 查询属性/参数列表
     *
     * @param id 属性/参数列表主键
     * @return 属性/参数列表
     */
    public CommodityTypeAttributes selectCommodityTypeAttributesById(Long id);

    /**
     * 查询属性/参数列表列表
     *
     * @param commodityTypeAttributes 属性/参数列表
     * @return 属性/参数列表集合
     */
    public List<CommodityTypeAttributes> selectCommodityTypeAttributesList(CommodityTypeAttributes commodityTypeAttributes);

    /**
     * 新增属性/参数列表
     *
     * @param commodityTypeAttributes 属性/参数列表
     * @return 结果
     */
    public int insertCommodityTypeAttributes(CommodityTypeAttributes commodityTypeAttributes);

    /**
     * 修改属性/参数列表
     *
     * @param commodityTypeAttributes 属性/参数列表
     * @return 结果
     */
    public int updateCommodityTypeAttributes(CommodityTypeAttributes commodityTypeAttributes);

    /**
     * 批量删除属性/参数列表
     *
     * @param ids 需要删除的属性/参数列表主键集合
     * @return 结果
     */
    public int deleteCommodityTypeAttributesByIds(Long[] ids);

    /**
     * 删除属性/参数列表信息
     *
     * @param id 属性/参数列表主键
     * @return 结果
     */
    public int deleteCommodityTypeAttributesById(Long id);

    /**
     * 查询筛选属性
     * @return
     */
    List<CommodityTypeAttributesDTO> getAttributesTree();

    /**
     * 查询属性列表
     *
     * @return
     */
    List<CommodityTypeAttributes> getAttrByType();
}
